package cn.swing.his.element.webapi.mapper;


import cn.swing.his.pojo.element.entity.Article;
import cn.swing.his.pojo.element.entity.Category;
import cn.swing.his.pojo.element.vo.ArticleDetailsVO;
import cn.swing.his.pojo.element.vo.ArticleHomeVO;
import cn.swing.his.pojo.element.vo.CategoryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface ArticleMapper {

    //添加新的类别
    int insertCategory(Category category);
    /**
     * 删除类别
     * @param id 类别id
     * @return 受影响的行数
     */
    int deleteCategoryById(Long id);
    //展示分类
    List<CategoryVO> selectCategory();
    /**
     * 根据后台页面提交的要删除的id删除数据库中对应的文章
     * @param id 文章id
     * @return 受影响的行数
     */
    int deleteArticleById(Long id);
    /**
     * 根据类别菜单选择器查询文章
     * @param categoryId 文章id
     * @return 返回对应的文章
     */
    List<ArticleDetailsVO> selectArticleByCategoryId(Integer categoryId);

    String selectTitleById(Long id);
    /**
     * 查询文章显示到前台首页
     * @return 返回文章
     */
    List<ArticleHomeVO> selectArticleHome();
    /**
     * 查询数据库文章显示到后台管理页面
     * @return 数据库中的所有文章
     */
    List<ArticleDetailsVO> selectArticles(@Param("page") Integer page, @Param("index") Integer index, @Param("type") Integer type, @Param("category") Integer category);
    //上传文章到数据库
    int uploadArticle(Article article);
}
